// 由于需要大量用到上下文中的方法和属性

// 所以，setup函数一定要定义为function
export default function() {

	// 数据准备好，但还未渲染
	this.onBeforeMount(() => {
		console.log('onBeforeMount')
	});

	// 组件渲染好，可获取dom节点
	this.onMounted(({ refs }) => {
		console.log('onMounted', refs)
	});

	// 组件更新前触发
	this.onBeforeUpdate(() => {
		console.log('onBeforeUpdate')
	});

	// 组件更新后触发，可获取dom节点
	this.onUpdated(() => {
		console.log('onUpdated')
	});

	// 组件卸载前触发
	this.onBeforeUnmount(() => {
		console.log('onUpdated')
	});

	const { $val, $ref } = $modules;
	const count = $ref(1);
	this.add(
		this.render({
			ref: 'ref-name'
		}, env, '中节点获取'),
		this.render({
			children: $val(count, 'value'),
			onClick: () => {
				++count.value
			}
		})
	)
}